package portal.web.rest.bestseller;

import java.util.ArrayList;
import java.util.List;

import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JSONSerializer;
import portal.entidades.RankingArticulo;
import portal.entidades.Resultado;
import portal.web.delegate.PortalWebDelegate;

@Path("/rest/bestSeller/procesar")
public class BestSeller {

	@POST()
	@Produces("application/json")
	public Resultado actualizarRanking(String json) {
		List<RankingArticulo> articulos = new ArrayList<RankingArticulo>();
		
		System.out.println("BEST SELLER JSON ... " + json);

		// Obtengo array del JSON
		JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON(json);
		JSONArray rankings = jsonObject.getJSONArray("rankings");

		// Por cada uno lo mappeo al objecto
		for (Object object : rankings) {
			JSONObject rk = (JSONObject) object;
			RankingArticulo rankingArticulo = new RankingArticulo();
			rankingArticulo.setCodigoArticulo(rk.getLong("codigoArticulo"));
			rankingArticulo.setPosicion(new Integer(rk.getInt("posicion")));
			articulos.add(rankingArticulo);
		}

		return PortalWebDelegate.getInstanace().actualizarRanking(articulos);
	}

}
